home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Digital Talk 55
/
Digital_Talk_55_2002-06-10_Digital_Talk_de_Side_C.d64
/
t&t joy + sprite
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
2KB
|
81 lines
0 :rem freisoft demo-spiel
1 :rem steuerung eines sprites
2 :rem mit dem joystick
3 :rem (dirk breitinger 2002)
4 :
5 :
10 :goto1000:----run
20 :save"@0:t&t joy+sprite",8:return
24 :
25 :
26 :
27 :
30 :rem---set sprite
31 :pokev+1,y:pokev,xand255:pokev+16,-(x>=256):pokev+1,y:return
32 :
33 :
40 :p=.:jv=j:rem---get joystick
41 :j=31-peek(56320+p)and31:ifj=.then:k=j:goto41:
42 :ju=sgn((jand2)-(jand1)):jr=sgn((jand8)-(jand4)):jf=-(j>15):return:
43 :
44 :
50 :rem----hubschrauber-sprite
52 :data,,,,,,,,,,,,,,,,,,,,,,,,127,255,254,128,32,,,112,62,63,255,242,65,3
53 :data242,65,123,254,67,123,192,127,123,,127,2,,63,254,,136,4,16,127,255
54 :data224,,,,97
55 :
56 :
57 :
100 :nr=.:nb=11:rem----sprite-install
105 :br=peek(648)*256:vb=(peek(648)and192)*256::kx=-25:ky=-42:bx=3:by=2
106 :a=vb+nb*64:fori=.to63:readq:pokea+i,q:next:pokebr+1016+nr,a/64:return
107 :
108 :
109 :
110 :rem---sprite-steuerung
111 :v=53248:pokev1+21,.:pokev+27,(peek(v+27)and254):pokev+39,f:gosub30:
112 :pokev+31,.:pokev+21,1
120 :gosub30:ks=peek(v+31)orpeek(v+30):ifksgoto150:
121 :xv=x:yv=y:gosub40:rem---joystick
122 :k=k-2*(k<4)-4*(k>3andk<8):ifj<>jvthen:k=k/1.5
123 :x=x+jr*k:ifx<15orx>330then:x=15-315*(x>15):k=.
124 :y=y+ju*k:ify<42ory>235then:y=42-193*(y>42):k=.
125 :on1+jfgoto120:ko=-1:return
127 :
128 :
129 :
150 :rem----kollisiion auswerten
151 :px=br+int((x+kx)/8)-(jr=1):py=int((y+ky)/8)-(ju=1):bp=px+py*40
152 :fori=1toby:gosub156:bp=bp-(peek(bp)=32)*(40-bx+1):next
153 :on-(jr<>.andpeek(bp)=32)gosub156
154 :ifpeek(bp)=32then:bp=b0+1:fori=1toby:bp=bp+(peek(bp)=32)*40:next
155 :ko=peek(bp):return:
156 :forj=1tobx-1:bp=bp-(peek(bp)=32):next:b0=bp:return:
157 :
158 :
159 :
200 :rem---aktion
201 :ifko=32then:return:
202 :aa=peek(bp):fori=1to10:pokebp,.:next:pokebp,aa:rem--zeichenblink
203 :x=xv:y=yv:k=.:gosub30:pokev+31,.:rem--position wiederherstellen
204 :print" [157][157][157][157]"ko"[157] ":return:
205 :pokev+30,.:return:
206 :
207 :
999 :
1000 :rem==============================
1001 :rem
1002 :rem a u f r u f
1003 :rem
1004 :rem==============================
1005 :
1011 :print"[147]sprite-steuerung"
1012 :gosub100:rem--sprite inst.
1013 :poke214,10:print:printtab(25)"[150][214][214][157][157][214][214]":
1014 :poke214,16:print:printtab(6)"[153][218]":
1015 :
1100 :rem---sprite aufruf
1104 :f=13:x=100:y=100:gosub110:rem--ein
1105 :ifko>.then:gosub200:gosub120:goto1105:rem---auswerten
1106 :gosub202:pokev+21,.:rem---aus